﻿/**************************************************************
 *
 * 唯一标识：5f0bf2a7-03ff-49df-9d1a-6b7a683c7bd0
 * 命名空间：Sgr.Caching.Services
 * 创建时间：2023/8/23 13:29:52
 * 机器名称：DESKTOP-S0D075D
 * 创建者：antho
 * 电子邮箱：fengqinhua2016@163.com
 * 描述：
 *
 **************************************************************/

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace Sgr.Caching.Services
{
    public class NoCacheManager : ICacheManager
    {
        public bool IsLocalCache
        {
            get
            {
                return true;
            }
        }

        public void Clear()
        {
            throw new NotImplementedException();
        }

        public Task ClearAsync(CancellationToken token = default)
        {
            throw new NotImplementedException();
        }

        public CacheEntryOptions CreateCacheEntryOptions()
        {
            throw new NotImplementedException();
        }

        public void Dispose()
        {
            // Perform any necessary cleanup here

            // Suppress finalization to prevent the finalizer from running
            GC.SuppressFinalize(this);
        }

        public TData? Get<TData>(string key, Func<TData?> acquire, CacheEntryOptions? cacheEntryOptions = null)
        {
            throw new NotImplementedException();
        }

        public Task<TData?> GetAsync<TData>(string key, Func<Task<TData?>> acquire, CacheEntryOptions? cacheEntryOptions = null, CancellationToken token = default)
        {
            throw new NotImplementedException();
        }

        public Task<TData?> GetAsync<TData>(string key, Func<TData?> acquire, CacheEntryOptions? cacheEntryOptions = null, CancellationToken token = default)
        {
            throw new NotImplementedException();
        }

        public void Remove(string key)
        {
            throw new NotImplementedException();
        }

        public void Remove(IEnumerable<string> keys)
        {
            throw new NotImplementedException();
        }

        public Task RemoveAsync(string key, CancellationToken token = default)
        {
            throw new NotImplementedException();
        }

        public Task RemoveAsync(IEnumerable<string> keys, CancellationToken token = default)
        {
            throw new NotImplementedException();
        }

        public void RemoveByPrefix(string prefix)
        {
            throw new NotImplementedException();
        }

        public Task RemoveByPrefixAsync(string prefix, CancellationToken token = default)
        {
            throw new NotImplementedException();
        }

        public void Set(string key, object? obj, CacheEntryOptions? cacheEntryOptions = null)
        {
            throw new NotImplementedException();
        }

        public Task SetAsync(string key, object? obj, CacheEntryOptions? cacheEntryOptions = null, CancellationToken token = default)
        {
            throw new NotImplementedException();
        }

        public (bool Success, TItem? Value) TryGetValue<TItem>(string key)
        {
            throw new NotImplementedException();
        }

        public Task<(bool Success, TItem? Value)> TryGetValueAsync<TItem>(string key, CancellationToken token = default)
        {
            throw new NotImplementedException();
        }
    }
}